<?php
namespace Weixin\Model;
use Think\Model;
/**
* AccessTokenModel类，用于处理设计User表的信息
*马宇翔
*2015/11/17
*/
class AccessTokenModel extends Model
{
	//获取一个新的token，并存储起来
	public function addToken()
	{
		$appid = C('APPID');
		$secret= C('SECRET');
		$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
		$token = json_decode(curl_get_contents($url));
		//判断是否正确返回了token
		if ($token->errcode) {
			return false;
		}
		$data['access_token'] = $token->access_token;
		$data['expires_time'] = time()-180+$token->expires_in;
		$result = $this->data($data)->add();//添加到数据库里
		if ($result) {
			$ret['id'] = $result;
			$ret['access_token'] = $data['access_token'];
			return $ret;
		}else{
			return false;
		}
	}

	//查询最近的token，并记录使用次数
	public function findToken()
	{
		$time = time();
		$where = array(
			'die_time'	=> array('GT',$time),//失效时间大于当前时间
		);
		$result = reset($this->where($where)->order('id desc')->limit(1)->getField('id,access_token'));
		if ($result) {
			return $result;
		}else{
			return false;
		}
	}

	//将token设为不可用
	public function delToken($id='')
	{
		if ($id) {
			$where	= array('id' => $id);
		}else{
			$where	= array('die_time'	=> array('ELT',$time));
		}
	}
}